@echo off
echo === PWA功能完整测试 ===
echo.

REM 测试1: 验证核心文件存在
echo [测试1/6] 验证PWA核心文件存在...
if exist "service-worker.js" (
    echo ✅ service-worker.js 存在
) else (
    echo ❌ service-worker.js 不存在
)

if exist "manifest.json" (
    echo ✅ manifest.json 存在
) else (
    echo ❌ manifest.json 不存在
)

if exist "themes\magazine-theme\layouts\_default\baseof.html" (
    echo ✅ baseof.html 模板存在
) else (
    echo ❌ baseof.html 模板不存在
)

if exist "static\css\mobile-optimization.css" (
    echo ✅ mobile-optimization.css 存在
) else (
    echo ❌ mobile-optimization.css 不存在
)

if exist "static\offline.html" (
    echo ✅ offline.html 存在
) else (
    echo ❌ offline.html 不存在
)

if exist "validate_pwa.py" (
    echo ✅ PWA验证工具存在
) else (
    echo ❌ PWA验证工具不存在
)

echo.

REM 测试2: 验证manifest.json格式
echo [测试2/6] 验证manifest.json格式...
python -c "import json; json.load(open('manifest.json')); print('✅ manifest.json 格式正确')" 2>nul
if errorlevel 1 echo ❌ manifest.json 格式错误

echo.

REM 测试3: 验证service-worker.js语法
echo [测试3/6] 验证service-worker.js语法...
node -c "service-worker.js" 2>nul
if errorlevel 1 (
    echo ⚠️  service-worker.js 语法检查需要Node.js环境
) else (
    echo ✅ service-worker.js 语法检查通过
)

echo.

REM 测试4: 验证HTML模板中的PWA引用
echo [测试4/6] 验证HTML模板中的PWA引用...
findstr "manifest" "themes\magazine-theme\layouts\_default\baseof.html" >nul
if %errorlevel% == 0 (
    echo ✅ manifest.json 已在HTML中引用
) else (
    echo ❌ manifest.json 未在HTML中引用
)

findstr "mobile-optimization.css" "themes\magazine-theme\layouts\_default\baseof.html" >nul
if %errorlevel% == 0 (
    echo ✅ mobile-optimization.css 已在HTML中引用
) else (
    echo ❌ mobile-optimization.css 未在HTML中引用
)

echo.

REM 测试5: 运行PWA验证工具
echo [测试5/6] 运行PWA验证工具...
if exist "validate_pwa.py" (
    python validate_pwa.py
)

echo.

REM 测试6: 验证Git状态
echo [测试6/6] 验证Git状态...
echo 当前Git状态:
"C:\Program Files\Git\cmd\git.exe" status --porcelain

echo.
echo === 测试完成 ===
echo.
echo 建议下一步操作:
echo 1. 运行 simple_server.py 启动本地服务器
echo 2. 在浏览器中访问 http://localhost:8000
echo 3. 使用Chrome DevTools的Application面板检查PWA功能
echo 4. 测试离线功能
echo.
pause